package com.seed.core.configuration;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.seed.core.enumeration.ActionType;

import java.util.Map;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class ActionConfiguration1 extends HomeConfiguration {
    private ActionType type; // 行为类型
    private Boolean checkLogin; // 是否需要检查登录
    private Boolean checkAction; // 是否需要检查功能权限
    private Map<String, ElementConfiguration> elements; // 各项申明对应的元素及元素属性，键为申明
    private String seedName; // 独立行为依赖的seed名称

    private Map<String, Object> params; // 不同类型的参数

//    private String declare; // 设置值的列名, 当类型为set时，这里表示要设置的申明
//    private String value; // 要设置的列的值
//    private String[] declares; // 行为所需要的数据列
//    private String[] searches; // 如果是功能是page或list，这里申明对应的搜索拦，形如：name_like,age_eq等
//    private String[] orders; // 排序
//    private Map<String, StatConfiguration> stats; // 统计

    public ActionType getType() {
        return type;
    }

    public void setType(ActionType type) {
        this.type = type;
    }

    public Boolean getCheckLogin() {
        return checkLogin;
    }

    public void setCheckLogin(Boolean checkLogin) {
        this.checkLogin = checkLogin;
    }

    public Boolean getCheckAction() {
        return checkAction;
    }

    public void setCheckAction(Boolean checkAction) {
        this.checkAction = checkAction;
    }

    public Map<String, ElementConfiguration> getElements() {
        return elements;
    }

    public void setElements(Map<String, ElementConfiguration> elements) {
        this.elements = elements;
    }

    public String getSeedName() {
        return seedName;
    }

    public void setSeedName(String seedName) {
        this.seedName = seedName;
    }

    public Map<String, Object> getParams() {
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }
}
